{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "%matplotlib inline\n",
    "import warnings"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 1080x1080 with 0 Axes>"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 1080x1080 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=[15,15])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "warnings.filterwarnings('ignore')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "df = pd.read_csv('train.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>PassengerId</th>\n",
       "      <th>Survived</th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Name</th>\n",
       "      <th>Sex</th>\n",
       "      <th>Age</th>\n",
       "      <th>SibSp</th>\n",
       "      <th>Parch</th>\n",
       "      <th>Ticket</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Cabin</th>\n",
       "      <th>Embarked</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>Braund, Mr. Owen Harris</td>\n",
       "      <td>male</td>\n",
       "      <td>22.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>A/5 21171</td>\n",
       "      <td>7.2500</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Cumings, Mrs. John Bradley (Florence Briggs Th...</td>\n",
       "      <td>female</td>\n",
       "      <td>38.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>PC 17599</td>\n",
       "      <td>71.2833</td>\n",
       "      <td>C85</td>\n",
       "      <td>C</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>Heikkinen, Miss. Laina</td>\n",
       "      <td>female</td>\n",
       "      <td>26.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>STON/O2. 3101282</td>\n",
       "      <td>7.9250</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Futrelle, Mrs. Jacques Heath (Lily May Peel)</td>\n",
       "      <td>female</td>\n",
       "      <td>35.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>113803</td>\n",
       "      <td>53.1000</td>\n",
       "      <td>C123</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>Allen, Mr. William Henry</td>\n",
       "      <td>male</td>\n",
       "      <td>35.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>373450</td>\n",
       "      <td>8.0500</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   PassengerId  Survived  Pclass  \\\n",
       "0            1         0       3   \n",
       "1            2         1       1   \n",
       "2            3         1       3   \n",
       "3            4         1       1   \n",
       "4            5         0       3   \n",
       "\n",
       "                                                Name     Sex   Age  SibSp  \\\n",
       "0                            Braund, Mr. Owen Harris    male  22.0      1   \n",
       "1  Cumings, Mrs. John Bradley (Florence Briggs Th...  female  38.0      1   \n",
       "2                             Heikkinen, Miss. Laina  female  26.0      0   \n",
       "3       Futrelle, Mrs. Jacques Heath (Lily May Peel)  female  35.0      1   \n",
       "4                           Allen, Mr. William Henry    male  35.0      0   \n",
       "\n",
       "   Parch            Ticket     Fare Cabin Embarked  \n",
       "0      0         A/5 21171   7.2500   NaN        S  \n",
       "1      0          PC 17599  71.2833   C85        C  \n",
       "2      0  STON/O2. 3101282   7.9250   NaN        S  \n",
       "3      0            113803  53.1000  C123        S  \n",
       "4      0            373450   8.0500   NaN        S  "
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Cabin          687\n",
       "Age            177\n",
       "Embarked         2\n",
       "Fare             0\n",
       "Ticket           0\n",
       "Parch            0\n",
       "SibSp            0\n",
       "Sex              0\n",
       "Name             0\n",
       "Pclass           0\n",
       "Survived         0\n",
       "PassengerId      0\n",
       "dtype: int64"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.isna().sum().sort_values(ascending=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "# filling age college with mean values\n",
    "df['Age'].fillna(df['Age'].median(),inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "df['Embarked'].fillna(df['Embarked'].mode()[0],inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Cabin          687\n",
       "Embarked         0\n",
       "Fare             0\n",
       "Ticket           0\n",
       "Parch            0\n",
       "SibSp            0\n",
       "Age              0\n",
       "Sex              0\n",
       "Name             0\n",
       "Pclass           0\n",
       "Survived         0\n",
       "PassengerId      0\n",
       "dtype: int64"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.isna().sum().sort_values(ascending=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "df.drop(['PassengerId'],axis=1,inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Features with null values :\n",
      "Survived      0\n",
      "Pclass        0\n",
      "Name          0\n",
      "Sex           0\n",
      "Age           0\n",
      "SibSp         0\n",
      "Parch         0\n",
      "Ticket        0\n",
      "Fare          0\n",
      "Cabin       687\n",
      "Embarked      0\n",
      "dtype: int64\n"
     ]
    }
   ],
   "source": [
    "print('Features with null values :')\n",
    "print(df.isna().sum())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Survived</th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Name</th>\n",
       "      <th>Sex</th>\n",
       "      <th>Age</th>\n",
       "      <th>SibSp</th>\n",
       "      <th>Parch</th>\n",
       "      <th>Ticket</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Cabin</th>\n",
       "      <th>Embarked</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>Braund, Mr. Owen Harris</td>\n",
       "      <td>male</td>\n",
       "      <td>22.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>A/5 21171</td>\n",
       "      <td>7.2500</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Cumings, Mrs. John Bradley (Florence Briggs Th...</td>\n",
       "      <td>female</td>\n",
       "      <td>38.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>PC 17599</td>\n",
       "      <td>71.2833</td>\n",
       "      <td>C85</td>\n",
       "      <td>C</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>Heikkinen, Miss. Laina</td>\n",
       "      <td>female</td>\n",
       "      <td>26.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>STON/O2. 3101282</td>\n",
       "      <td>7.9250</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Futrelle, Mrs. Jacques Heath (Lily May Peel)</td>\n",
       "      <td>female</td>\n",
       "      <td>35.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>113803</td>\n",
       "      <td>53.1000</td>\n",
       "      <td>C123</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>Allen, Mr. William Henry</td>\n",
       "      <td>male</td>\n",
       "      <td>35.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>373450</td>\n",
       "      <td>8.0500</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Survived  Pclass                                               Name  \\\n",
       "0         0       3                            Braund, Mr. Owen Harris   \n",
       "1         1       1  Cumings, Mrs. John Bradley (Florence Briggs Th...   \n",
       "2         1       3                             Heikkinen, Miss. Laina   \n",
       "3         1       1       Futrelle, Mrs. Jacques Heath (Lily May Peel)   \n",
       "4         0       3                           Allen, Mr. William Henry   \n",
       "\n",
       "      Sex   Age  SibSp  Parch            Ticket     Fare Cabin Embarked  \n",
       "0    male  22.0      1      0         A/5 21171   7.2500   NaN        S  \n",
       "1  female  38.0      1      0          PC 17599  71.2833   C85        C  \n",
       "2  female  26.0      0      0  STON/O2. 3101282   7.9250   NaN        S  \n",
       "3  female  35.0      1      0            113803  53.1000  C123        S  \n",
       "4    male  35.0      0      0            373450   8.0500   NaN        S  "
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0                              Braund, Mr. Owen Harris\n",
       "1    Cumings, Mrs. John Bradley (Florence Briggs Th...\n",
       "2                               Heikkinen, Miss. Laina\n",
       "3         Futrelle, Mrs. Jacques Heath (Lily May Peel)\n",
       "4                             Allen, Mr. William Henry\n",
       "5                                     Moran, Mr. James\n",
       "6                              McCarthy, Mr. Timothy J\n",
       "7                       Palsson, Master. Gosta Leonard\n",
       "8    Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg)\n",
       "9                  Nasser, Mrs. Nicholas (Adele Achem)\n",
       "Name: Name, dtype: object"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['Name'].head(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0        Mr\n",
       "1       Mrs\n",
       "2      Miss\n",
       "3       Mrs\n",
       "4        Mr\n",
       "5        Mr\n",
       "6        Mr\n",
       "7    Master\n",
       "8       Mrs\n",
       "9       Mrs\n",
       "Name: Name, dtype: object"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "splitting_surname = [i.split(',')[1].split('.')[0].strip() for i in df['Name']]\n",
    "df['Name'] = pd.Series(splitting_surname)\n",
    "df['Name'].head(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Mr              517\n",
       "Miss            182\n",
       "Mrs             125\n",
       "Master           40\n",
       "Dr                7\n",
       "Rev               6\n",
       "Mlle              2\n",
       "Col               2\n",
       "Major             2\n",
       "the Countess      1\n",
       "Jonkheer          1\n",
       "Lady              1\n",
       "Mme               1\n",
       "Capt              1\n",
       "Sir               1\n",
       "Ms                1\n",
       "Don               1\n",
       "Name: Name, dtype: int64"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['Name'].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [],
   "source": [
    "df.columns = ['Survived', 'Pclass', 'Title', 'Sex', 'Age', 'SibSp', 'Parch', 'Ticket',\n",
    "       'Fare', 'Cabin', 'Embarked']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [],
   "source": [
    "df['Title'] = df['Title'].replace(['Lady', 'the Countess','Countess','Capt', 'Col','Don', 'Dr', 'Major', 'Rev', 'Sir', 'Jonkheer', 'Dona'], 'Rare')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [],
   "source": [
    "df[\"Title\"] = df[\"Title\"].map({\"Master\":0, \"Miss\":1, \"Ms\" : 1 , \"Mme\":1, \"Mlle\":1, \"Mrs\":1, \"Mr\":2, \"Rare\":3})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0xbaada142e8>"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.countplot(df['Title'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Insights"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x3027e6c198>"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.heatmap(df.corr())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x302a5e4d30>"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df['Age'].plot(kind='box')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Survived</th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Age</th>\n",
       "      <th>SibSp</th>\n",
       "      <th>Parch</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Sex_female</th>\n",
       "      <th>Sex_male</th>\n",
       "      <th>Embarked_C</th>\n",
       "      <th>Embarked_Q</th>\n",
       "      <th>Embarked_S</th>\n",
       "      <th>FamilySize</th>\n",
       "      <th>IsAlone</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>22.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>7.2500</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>38.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>71.2833</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>26.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>7.9250</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>35.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>53.1000</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>35.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>8.0500</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Survived  Pclass   Age  SibSp  Parch     Fare  Sex_female  Sex_male  \\\n",
       "0         0       3  22.0      1      0   7.2500           0         1   \n",
       "1         1       1  38.0      1      0  71.2833           1         0   \n",
       "2         1       3  26.0      0      0   7.9250           1         0   \n",
       "3         1       1  35.0      1      0  53.1000           1         0   \n",
       "4         0       3  35.0      0      0   8.0500           0         1   \n",
       "\n",
       "   Embarked_C  Embarked_Q  Embarked_S  FamilySize  IsAlone  \n",
       "0           0           0           1           2        0  \n",
       "1           1           0           0           2        0  \n",
       "2           0           0           1           1        1  \n",
       "3           0           0           1           2        0  \n",
       "4           0           0           1           1        1  "
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['FamilySize'] = df['SibSp'] + df['Parch'] +1\n",
    "df['IsAlone']=1\n",
    "df['IsAlone'].loc[df['FamilySize']>1]=0\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x302a6459e8>"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.distplot(df['Fare'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x301ef3e438>"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df['Fare'] = df['Fare'].map(lambda x: np.log(x) if x>0 else 0)\n",
    "sns.distplot(df['Fare'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x302a642908>"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.countplot(df['Survived'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x301f190588>"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.countplot(df['Sex_male'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<seaborn.axisgrid.FacetGrid at 0x302b00da90>"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 360x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.factorplot(y='Survived',x='Pclass',data=df,kind='bar')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<seaborn.axisgrid.FacetGrid at 0x302a7d74a8>"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 360x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.factorplot(x='FamilySize',y='Survived',data=df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(891, 13)"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.get_dummies(data=df)\n",
    "df.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Building model for different classifiers :\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.svm import SVC\n",
    "from sklearn.tree import DecisionTreeClassifier\n",
    "from sklearn.ensemble import RandomForestClassifier, AdaBoostClassifier,GradientBoostingClassifier\n",
    "from sklearn.linear_model import LogisticRegression\n",
    "from sklearn.naive_bayes import GaussianNB\n",
    "from sklearn.neighbors import KNeighborsClassifier\n",
    "from sklearn.metrics import accuracy_score,log_loss"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [],
   "source": [
    "classifiers = [SVC(probability=True),KNeighborsClassifier(3),DecisionTreeClassifier(),\n",
    "               RandomForestClassifier(),AdaBoostClassifier(),GradientBoostingClassifier(),\n",
    "               LogisticRegression(),GaussianNB()]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [],
   "source": [
    "log_cols = ['Classifier', 'Accuracy']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [],
   "source": [
    "log = pd.DataFrame(columns=log_cols)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.model_selection import StratifiedShuffleSplit"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [],
   "source": [
    "sss = StratifiedShuffleSplit(n_splits=10,test_size=0.1,random_state=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [],
   "source": [
    "X = df.drop(['Survived'],axis=1)\n",
    "y= df['Survived']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [],
   "source": [
    "accuracy_dict = {}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    0\n",
       "1    1\n",
       "2    1\n",
       "3    1\n",
       "4    0\n",
       "Name: Survived, dtype: int64"
      ]
     },
     "execution_count": 55,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "ename": "KeyError",
     "evalue": "\"None of [Int64Index([890, 473, 836, 329, 737, 576, 615, 538, 671, 596,\\n            ...\\n            492, 311, 282, 631, 131, 490, 528,  48, 618,  80],\\n           dtype='int64', length=801)] are in the [columns]\"",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m----------------------------------------------------\u001b[0m",
      "\u001b[1;31mKeyError\u001b[0m           Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-53-51d18887a532>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m      1\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mtrain_index\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mtest_index\u001b[0m \u001b[1;32min\u001b[0m \u001b[0msss\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msplit\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mX\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m     \u001b[0mX_train\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mX_test\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mX\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mtrain_index\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mX\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mtest_index\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m      3\u001b[0m     \u001b[0my_train\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my_test\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0my\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mtrain_index\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mtest_index\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m      4\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m      5\u001b[0m     \u001b[1;32mfor\u001b[0m \u001b[0mclf\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mclassifiers\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\pandas\\core\\frame.py\u001b[0m in \u001b[0;36m__getitem__\u001b[1;34m(self, key)\u001b[0m\n\u001b[0;32m   2932\u001b[0m                 \u001b[0mkey\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mlist\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   2933\u001b[0m             indexer = self.loc._convert_to_indexer(key, axis=1,\n\u001b[1;32m-> 2934\u001b[1;33m                                                    raise_missing=True)\n\u001b[0m\u001b[0;32m   2935\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   2936\u001b[0m         \u001b[1;31m# take() does not accept boolean indexers\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\pandas\\core\\indexing.py\u001b[0m in \u001b[0;36m_convert_to_indexer\u001b[1;34m(self, obj, axis, is_setter, raise_missing)\u001b[0m\n\u001b[0;32m   1352\u001b[0m                 kwargs = {'raise_missing': True if is_setter else\n\u001b[0;32m   1353\u001b[0m                           raise_missing}\n\u001b[1;32m-> 1354\u001b[1;33m                 \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_get_listlike_indexer\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   1355\u001b[0m         \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1356\u001b[0m             \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\pandas\\core\\indexing.py\u001b[0m in \u001b[0;36m_get_listlike_indexer\u001b[1;34m(self, key, axis, raise_missing)\u001b[0m\n\u001b[0;32m   1159\u001b[0m         self._validate_read_indexer(keyarr, indexer,\n\u001b[0;32m   1160\u001b[0m                                     \u001b[0mo\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_get_axis_number\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0maxis\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1161\u001b[1;33m                                     raise_missing=raise_missing)\n\u001b[0m\u001b[0;32m   1162\u001b[0m         \u001b[1;32mreturn\u001b[0m \u001b[0mkeyarr\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mindexer\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1163\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\pandas\\core\\indexing.py\u001b[0m in \u001b[0;36m_validate_read_indexer\u001b[1;34m(self, key, indexer, axis, raise_missing)\u001b[0m\n\u001b[0;32m   1244\u001b[0m                 raise KeyError(\n\u001b[0;32m   1245\u001b[0m                     u\"None of [{key}] are in the [{axis}]\".format(\n\u001b[1;32m-> 1246\u001b[1;33m                         key=key, axis=self.obj._get_axis_name(axis)))\n\u001b[0m\u001b[0;32m   1247\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1248\u001b[0m             \u001b[1;31m# We (temporarily) allow for some missing keys with .loc, except in\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mKeyError\u001b[0m: \"None of [Int64Index([890, 473, 836, 329, 737, 576, 615, 538, 671, 596,\\n            ...\\n            492, 311, 282, 631, 131, 490, 528,  48, 618,  80],\\n           dtype='int64', length=801)] are in the [columns]\""
     ]
    }
   ],
   "source": [
    "for train_index, test_index in sss.split(X, y):\n",
    "    X_train, X_test = X[train_index], X[test_index]\n",
    "    y_train, y_test = y[train_index], y[test_index]\n",
    "    \n",
    "    for clf in classifiers:\n",
    "        name = clf.__class__.__name__\n",
    "        clf.fit(X_train,y_train)\n",
    "        training_prediction = clf.predict(X_test)\n",
    "        acc = accuracy_score(y_test,training_prediction)\n",
    "        if name in accuracy_dict:\n",
    "            accuracy_dict[name] += acc\n",
    "        else:\n",
    "            accuracy_dict[name] = acc\n",
    "\n",
    "for clf in accuracy_dict:\n",
    "    accuracy_dict[clf] = accuracy_dict[clf]/10\n",
    "    log_entry = pd.DataFrame([[clf,accuracy_dict[clf]]],columns=log_cols)\n",
    "    log = log.append(log_entry)\n",
    "    \n",
    "plt.xlabel(\"Mean accuracy\")\n",
    "plt.title(\"Classifier's accuracy\")\n",
    "plt.ylabel(\"Classifiers\")\n",
    "sns.barplot(x='Accuracy',y='Classifier',data=log)\n",
    "            "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Classifier</th>\n",
       "      <th>Accuracy</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>SVC</td>\n",
       "      <td>0.672222</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>KNeighborsClassifier</td>\n",
       "      <td>0.694444</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>DecisionTreeClassifier</td>\n",
       "      <td>0.777778</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>RandomForestClassifier</td>\n",
       "      <td>0.820000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>AdaBoostClassifier</td>\n",
       "      <td>0.805556</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>GradientBoostingClassifier</td>\n",
       "      <td>0.816667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>LogisticRegression</td>\n",
       "      <td>0.788889</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>GaussianNB</td>\n",
       "      <td>0.768889</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>SVC</td>\n",
       "      <td>0.739444</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>KNeighborsClassifier</td>\n",
       "      <td>0.763889</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>DecisionTreeClassifier</td>\n",
       "      <td>0.858889</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>RandomForestClassifier</td>\n",
       "      <td>0.890889</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>AdaBoostClassifier</td>\n",
       "      <td>0.886111</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>GradientBoostingClassifier</td>\n",
       "      <td>0.898333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>LogisticRegression</td>\n",
       "      <td>0.867778</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>GaussianNB</td>\n",
       "      <td>0.845778</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                   Classifier  Accuracy\n",
       "0                         SVC  0.672222\n",
       "0        KNeighborsClassifier  0.694444\n",
       "0      DecisionTreeClassifier  0.777778\n",
       "0      RandomForestClassifier  0.820000\n",
       "0          AdaBoostClassifier  0.805556\n",
       "0  GradientBoostingClassifier  0.816667\n",
       "0          LogisticRegression  0.788889\n",
       "0                  GaussianNB  0.768889\n",
       "0                         SVC  0.739444\n",
       "0        KNeighborsClassifier  0.763889\n",
       "0      DecisionTreeClassifier  0.858889\n",
       "0      RandomForestClassifier  0.890889\n",
       "0          AdaBoostClassifier  0.886111\n",
       "0  GradientBoostingClassifier  0.898333\n",
       "0          LogisticRegression  0.867778\n",
       "0                  GaussianNB  0.845778"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "log"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Predicting using GradientBoostingClassifier"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [],
   "source": [
    "gbc = GradientBoostingClassifier()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [],
   "source": [
    "gbc.fit(X_train,y_train)\n",
    "gpred = gbc.predict(X_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([0, 1, 2, 3, 4, 5, 6, 7]), <a list of 8 Text xticklabel objects>)"
      ]
     },
     "execution_count": 50,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "pb = sns.boxplot(data=log,x='Classifier',y='Accuracy')\n",
    "plt.xticks(rotation=90)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.metrics import confusion_matrix"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x75da40c400>"
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.heatmap(confusion_matrix(gpred,y_test),annot=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0.16648067, 0.46533265, 0.13781888, 0.21435506, 0.01601274])"
      ]
     },
     "execution_count": 63,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "gbc.feature_importances_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1.0, 'Feature importance for gbc')"
      ]
     },
     "execution_count": 65,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "pd.Series(gbc.feature_importances_,['Pclass','Sex','Age','Fare','Embarked']).sort_values(ascending=True).plot.barh(width=0.8,cmap='RdYlGn_r')\n",
    "plt.title(\"Feature importance for gbc\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The accuracy for ensembled model is: 0.8222222222222222\n",
      "The cross validated score is 0.8249645329701509\n"
     ]
    }
   ],
   "source": [
    "from sklearn.ensemble import VotingClassifier\n",
    "from sklearn.model_selection import cross_val_score,cross_val_predict\n",
    "ensemble_lin_rbf=VotingClassifier(estimators=[('KNN',KNeighborsClassifier(n_neighbors=10)),\n",
    "                                              ('SVC RBF',SVC(probability=True,kernel='rbf',C=0.5,gamma=0.1)),\n",
    "                                              ('RandomForest',RandomForestClassifier(n_estimators=500,random_state=0)),\n",
    "                                              ('LogisticRegression',LogisticRegression(C=0.05)),\n",
    "                                              ('DecisionTree',DecisionTreeClassifier(random_state=0)),\n",
    "                                              ('GaussianNB',GaussianNB()),\n",
    "                                              ('SVC Linear',SVC(kernel='linear',probability=True)),\n",
    "                                              ('AdaBoosting',AdaBoostClassifier()),\n",
    "                                              ('GradientBoosting',GradientBoostingClassifier())\n",
    "                                             ], \n",
    "                       voting='soft').fit(X_train,y_train)\n",
    "print('The accuracy for ensembled model is:',ensemble_lin_rbf.score(X_test,y_test))\n",
    "cross=cross_val_score(ensemble_lin_rbf,X,y, cv = 10,scoring = \"accuracy\")\n",
    "print('The cross validated score is',cross.mean())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
